Automated processing method for bus crossing enforcement

ABSTRACT

As set forth herein, systems and methods are described that facilitate to analyze a video stream from a camera mounted on the side of a school bus, wherein a sub-set of video sequences showing cars illegally passing the stopped school bus are automatically identified through image and/or video processing. The described systems and methods provide a significant savings in terms of the amount of manual review that is required to identify such violations. The video sequences also can be analyzed further to additionally produce images of the license plate (for identification of the violator), thereby providing further reduction in required human processing and review time. In one embodiment, automatic license plate recognition (ALPR) is employed to identify text on the violator&#39;s license plate, as well as the state by which the license plate was issued, without requiring human review of the license plate image.

TECHNICAL FIELD

The present exemplary embodiments broadly relate to detecting movingvehicles that illegally pass a stopped vehicle. They find particularapplication identifying vehicles that illegally pass a stopped schoolbus. However, it is to be appreciated that the present exemplaryembodiments are also amenable to other like applications.

BACKGROUND

Conventional systems for identifying a vehicle that illegally passes astopped school bus utilize a video camera mounted to the side of thebus. The camera is typically triggered based on the “STOP” sign on theside of the bus being deployed. Video sequences are therefore recordedfor each stop of the bus where children are entering and/or exiting(i.e. where vehicles should not be passing). Once all of the video hasbeen recorded a human must review the entire set of video to determinewhether any violations (cars passing the stopped bus) have occurred.These video sequences are then extracted manually and used for evidencein generating tickets for these vehicles and/or drivers. Thislabor-intensive processing of the video sequences results in substantialadditional costs for providing the school bus violation detectionservice. For instance, it may take 15-20 minutes to review a day's worthof footage for a single bus. Many school districts have large numbers ofbuses in their fleet (e.g., hundreds of buses). Thus, the costs formanually reviewing such large amounts of video footage can beprohibitive for more widespread deployment and adoption of these typesof solutions.

The subject innovation provides improved methods and systems forautomatically detecting moving vehicles that pass a stopped school busin order to reduce manual video review and vehicle detection.

BRIEF DESCRIPTION

In one aspect, a computer-implemented method for identifying movingvehicles that illegally pass a school bus during a bus stop comprisesreceiving a video sequence from a camera device mounted on a school bus,and partitioning the video sequence into video segments such that eachvideo segment corresponds to a single bus stop and comprises one or morevideo frames captured during the bus stop. The method further comprisesanalyzing each frame of each video segment to detect a moving vehicle inone or more of the frames, identifying and tagging frames in which amoving vehicle is detected, and identifying and tagging video segmentsthat comprise tagged frames.

In another aspect, a system that facilitates identifying moving vehiclesthat illegally pass a school bus during a bus stop comprises a cameradevice that is mounted to a school bus and that records video whenever astop sign coupled to the school bus is in a deployed position; whereinthe camera is aimed to capture video of at least a portion of thedeployed stops sign and of any moving vehicle that passes the school buswhile the stop sign is deployed. The system further comprises aprocessor configured to execute stored computer-executable instructionsfor receiving a video sequence from the camera device, and forpartitioning the video sequence into video segments such that each videosegment corresponds to a single bus stop and comprises one or more videoframes captured during the bus stop. The processor is further configuredto execute instructions for analyzing each frame of each video segmentto detect a moving vehicle in one or more of the frames, identifying andtagging frames in which a moving vehicle is detected, and foridentifying and tagging video segments that comprise tagged frames.

In another aspect, a method of identifying moving vehicles thatillegally pass a school bus during a bus stop comprises partitioning avideo sequence recorded during a bus stop into video segments, analyzingeach frame of the video segment to detect a moving vehicle in one ormore of the frames, tagging a frame in which a moving vehicle isdetected, and using automated license plate recognition (ALPR) toidentify a license plate number and state of origin of a license plateon the moving vehicle. The method further includes appending the licenseplate number and state of origin to the tagged frame to generate aviolation package, and transmitting the violation package to a lawenforcement agency for review.

BRIEF DESCRIPTION OF THE DRAWINGS

The file of this patent contains at least one drawing executed in color.Copies of this patent with color drawing(s) will be provided by theUnited States Patent and Trademark Office upon request and payment ofthe necessary fee.

FIG. 1 illustrates a method for tagging or otherwise identifying videoframes and/or segments that include an image of a vehicle that is movingpast a stopped school bus, in accordance with various features describedherein.

FIG. 2 illustrates a method of identifying video segments andidentifying frames with moving vehicles in them

FIG. 3 illustrates a method for identifying video segments andidentifying frames with moving vehicles in them.

FIG. 4 shows an image of a camera device mounted to a school bus.

FIG. 5 shows an image of the camera device mounted to the school bus.

FIG. 6 illustrates a system that facilitates detecting and identifyingmoving vehicles that pass a school bus while the stop sign is deployed,in accordance with various aspects described herein.

DETAILED DESCRIPTION

The systems and methods described herein can be utilized to analyze avideo stream from a camera mounted on the side of a school bus, whereina sub-set of video sequences showing cars illegally passing the stoppedschool bus are automatically identified through image and/or videoprocessing. The described systems and methods provide a significantsavings in terms of the amount of manual review that is required toidentify such violations. The video sequences also can be analyzedfurther to additionally produce images of the license plate (foridentification of the violator), thereby providing further reduction inrequired human processing and review time. In one embodiment, automaticlicense plate recognition (ALPR) is employed to identify text on theviolator's license plate, as well as the state by which the licenseplate was issued, without requiring human review of the license plateimage.

FIG. 1 illustrates a method for tagging or otherwise identifying videoframes and/or segments that include an image of a vehicle that is movingpast a stopped school bus, in accordance with various features describedherein. At 10, a video sequence (i.e. recorded video data) is receivedor retrieved from a camera device mounted on a school bus. The video isrecorded continuously during school bus operation or periodically (e.g.,when the “STOP” sign on the side of the school bus is extended during abus stop). At 12, the video sequence is partitioned into segments,wherein each segment corresponds to a bus stop. Segmenting of the videosegments may be performed by the camera device mounted on the school busor remotely (i.e., on a computer or the like) once the video sequencehas been received at the computer. At 14, the video segments areanalyzed (e.g., automatically, manually, semi-automatically, etc. Forinstance, the video segments can be analyzed by a human operatormanually, and/or by a computer program. At 16, frames within eachsegment that include an image of a moving vehicle (i.e., a vehicle thatis moving past the bus while the STOP sign is extended), are detected,if present, and tagged or otherwise marked. At 18, segments includingtagged frames are also tagged or otherwise marked as including an imageof a moving vehicle for review and further analysis (e.g., by a human orautomated program).

Once the segments of the video sequences with violations have beenidentified and tagged, images of the license plates for each of theviolating vehicles are identified and extracted, at 20. For instance,automated license plate recognition (ALPR) technology can be employed toidentify the state and plate number of vehicles, once the license plateimage for the car passing the stopped school bus has been extracted, inorder to mitigate or minimize human review. This feature provides anend-to-end solution for automating the violation detection andprocessing. The automatically-processed violation package is then sentto local law enforcement.

Additionally or alternatively, the plate numbers and state of origininformation can be embedded in the video segment (e.g., as metadata) orincluded in a header or title for the tagged video segment. Theviolation package can then be forwarded to local law enforcement forreview. This feature enables a human reviewer to quickly identify thelicense plate text and state of origin such that the appropriate vehicleand/or operator can be ticketed.

It will be appreciated that the various acts described with regard tothe methods set forth herein may be performed in any order, and are notlimited to the specific orderings set forth herein. Additionally, insome embodiments, fewer than all of the acts described with regard tothe methods presented herein may be performed to achieve the desiredresults.

A computer 50 can be employed as one possible hardware configuration tosupport the systems and methods described herein. It is to beappreciated that although a standalone architecture is illustrated, anysuitable computing environment can be employed in accordance with thepresent embodiments. For example, computing architectures including, butnot limited to, stand alone, multiprocessor, distributed, client/server,minicomputer, mainframe, supercomputer, digital and analog can beemployed in accordance with the present embodiment.

The computer 50 can include a processing unit (not shown) that executes,and a system memory (not shown) that stores, one or more sets ofcomputer-executable instructions (e.g., modules, programs, routines,algorithms, etc.) for performing the various functions, procedures,methods, protocols, techniques, etc., described herein. The computer canfurther include a system bus (not shown) that couples various systemcomponents including the system memory to the processing unit. Theprocessing unit can be any of various commercially available processors.Dual microprocessors and other multi-processor architectures also can beused as the processing unit.

As used herein, “module” refers to a set of computer-executableinstructions (e.g., a routine, program, algorithm, application, etc.,persistently stored on a computer-readable medium (e.g., a memory, harddrive, disk, flash drive, or any other suitable storage medium).Moreover, the steps of the methods described herein are executed by acomputer unless otherwise specified as being performed by a user.

The computer 50 typically includes at least some form of computerreadable media. Computer readable media can be any available media thatcan be accessed by the computer. By way of example, and not limitation,computer readable media may comprise computer storage media andcommunication media. Computer storage media includes volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information such as computer readableinstructions, data structures, program modules or other data.

Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of any ofthe above can also be included within the scope of computer readablemedia.

A user may enter commands and information into the computer through akeyboard (not shown), a pointing device (not shown), a mouse, thumb pad,voice input, stylus, touchscreen, etc. The computer 50 can operate in anetworked environment using logical and/or physical connections to oneor more remote computers, such as a remote computer(s). The logicalconnections depicted include a local area network (LAN) and a wide areanetwork (WAN). Such networking environments are commonplace in offices,enterprise-wide computer networks, intranets and the Internet.

In one embodiment, the method of FIG. 1 employs video and/or imagingprocessing techniques to analyze the video sequences for the schoolbuses. The video sequences are segmented at 12 such that each segmentcontains the frames captured in one bus stop. This can be accomplishedby exploiting a recording triggering signal, or by the timestamps forthe frames and correlating the timestamps to known deployment andretraction times for the stop sign. According to an example, only thosesegments in which a passing car (i.e. a violator) is detected areextracted for review at 16 and 18. These segments can then be used asevidence in generating tickets through local law enforcement agencies. Avariety of processing techniques can be utilized to detect violatingcars in the video sequences. Several examples of processing algorithmsare summarized below.

FIG. 2 illustrates a method of identifying video segments andidentifying frames with moving vehicles in them, as set forth withregard to 14 and 16 of FIG. 1, which is performed by identifying large“deltas” or differences in the positions vehicles in the image frames.At 60, a snapshot of the image frame (I_(reference)) taken when the stopsign is initially deployed (e.g., it is assumed that no vehicle ispassing the bus at this point) is extracted. Although a full color (RGB)image can be processed using the described systems and methods, a graylevel intensity image is considered for the purposes of the describedexamples. At 62, subsequent image frames, which are captured until thestop sign is retracted, are then compared to this reference image, suchthat:I _(delta)(x,y,k)=abs(I _(reference)(x,y)−I _(frame)(x,y,k)), k=1,2, . ..where x and y are the pixel coordinates (row and column) within an imageand k is the image frame index relative to the reference frame location.I_(frame) is the image frame being compared to the reference frame, andI_(delta) is the difference between the reference and image frames. Whena vehicle passes the stopped bus, the pixel-by-pixel intensitydifferences between the reference image frame and the subsequent imageframe increases.

The presence or absence of a car in the video sequence is thendetermined, at 64, by comparing the sum total error for each subsequentimage frame to a predetermined threshold value:

${M_{present}(k)} = \left\{ \begin{matrix}{1,{{\sum\limits_{{{x = 1};L},{{y = 1};N}}^{\;}{I_{diff}\left( {x,y,k} \right)}} > M_{thresh}}} \\{0,{otherwise}}\end{matrix} \right.$where M_(present)(k) signifies whether a violating car is present withinframe k, M_(thresh) is the predetermined threshold value for thedifference metric, and L and N are the number of rows and columns in thesub-images, respectively. Using the resulting sequence of valuesM_(present), the key regions (e.g., one or more frames) of the videosequence with violations present are then automatically extracted, at66.

FIG. 3 illustrates a method for identifying video segments andidentifying frames with moving vehicles in them, as set forth withregard to 14 and 16 of FIG. 1. At 80, the frame-to-frame differencesbetween consecutive image frames in the video sequences are firstcalculated for each video segment such that:I _(delta)(x,y,k)=abs[I _(frame)(x,y,k)−I _(frame)(x,y,k−1)], k=1,2, . ..where x and y are the pixel coordinates (row and column) within an imageand k is the image frame index, and where I_(delta) represents thedifference in pixel values between frames and I_(frame) represents agiven frame. These frame-to-frame difference images can then beanalyzed, at 82, to detect the present or absence of a passing vehicle.If there is not a passing car, then minimal delta values occur at eachpixel location of the difference images. However, as a vehicle passesthrough the scene, large difference or delta values occur. Since thegray level intensity image of a vehicle is not uniform, thesedifferences are present throughout the passing of the car, not justduring the entry and exit of the vehicle from the scene. At 84, thepresence or absence of a passing car is determined computing thestandard deviation of all pixels within each of the difference imagesI_(delta):M _(std)(k)=std(I _(delta)(1:L,1:N,k).This metric is then compared to a threshold value to determine, at 86whether or not a passing vehicle is present in the image frame:

${M_{present}(k)} = \left\{ \begin{matrix}{1,{{M_{std}(k)} > M_{{thresh}\_{std}}}} \\{0,{otherwise}}\end{matrix} \right.$where M_(thresh) _(_) _(std) is a predetermined threshold value. Onceagain, using the resulting sequence of values M_(present), the keyregions of the video sequence with violations present can then beautomatically extracted.

According to another example, additional metrics, such as the sum of thepixel values for each delta image, can also be used. For instance:

${M_{sum}(k)}{\sum\limits_{\underset{{y = 1},2,{\ldots\mspace{14mu} N}}{{x = 1},2,{\ldots\mspace{14mu} L}}}^{\;}{I_{delta}\left( {x,y,k} \right)}}$${M_{present}(k)} = \left\{ \begin{matrix}{1,{{M_{sum}(k)} > M_{{thresh}\_{sum}}}} \\{0,{otherwise}}\end{matrix} \right.$This approach highlights image frames where large changes occurred sincethe last frame. Combinations of these metrics can also be used toidentify passing cars in the video sequence. For instance:

${M_{present}(k)} = \left\{ {\begin{matrix}{1,{{M_{sum}(k)} > {M_{{thresh}\_{sum}}\mspace{14mu}{and}\mspace{14mu}{M_{std}(k)}} > M_{{thresh}\_{std}}}} \\{0,{otherwise}}\end{matrix}.} \right.$

Additionally or alternatively, a number of other techniques can be usedto analyze the video stream to detect a passing car. For example, if thevideo is represented in MPEG format, then motion vectors in the regionof interest can be directly and efficiently extracted from the P and Bframes. An aggregate metric calculated from these motion vectors can beused to identify motion, and thus a violation. For instance, whenanalyzing the frames the method can further include obtaining motionvectors for the frames within the video segment, calculating a sum totalof the magnitude of the motion vectors within each frame, comparing thesum total motion vector magnitude within each frame to a predeterminedthreshold value, and identifying frames that have a sum total motionvector magnitude greater than the predetermined threshold value ashaving an image of a moving vehicle.

FIG. 4 shows an image 100 of a camera device 102 that is mounted to aschool bus 104. The device is pointed toward a stop sign 106 that isdeployed when the bus stops. The device 102 can be wired to the stopsign control system so that it begins recording upon deployment of thestop sign and stops recording upon retraction of the stop sign.

FIG. 5 shows an image 110 of the camera device 102 mounted to the schoolbus 104. The camera device is angled slightly downward relative tolevel, so that the camera can capture video frames of vehicles as theypass the bus while the stop sign is deployed.

FIG. 6 illustrates a system 120 that facilitates detecting andidentifying moving vehicles that pass a school bus while the stop signis deployed, in accordance with various aspects described herein. Thesystem includes a camera device 102, which is mounted on a school bus104. The system also includes a processor 122 that executes, and amemory 124 that stores, computer-executable instructions or “modules”for carrying out the various functions described herein. In oneembodiment, the processor and memory reside in a computer that is remotefrom the camera device. Acquired video data is retrieved from the cameradevice wirelessly (e.g., over a suitable wireless connection) or over awired connection (e.g., a technician or law enforcement office connectsthe computer or a storage device such as a memory stick to the cameradevice and downloads the video data, which is then stored in the memoryof the computer). In another embodiment, the processor 122 and memory124 are integral to the camera device and the here-in describefunctionality is performed at the camera device.

Video data 126 recorded by the camera device 102 is stored in the memory124. The video data is recorded continuously during school bus operationor periodically (e.g., when the “STOP” sign on the side of the schoolbus is extended during a bus stop). The processor 122 executes apartitioning module 128 (i.e., a set of computer-executableinstructions) that partitions the video data 126 into video segments130. Each segment corresponds to a bus stop, and comprises a pluralityof video image frames taken from the time a stop sign on the bus isdeployed until the stop sign is retracted. The processor executes ananalysis module 132 that analyzes the video segments to detect oridentify moving vehicles that illegally pass the school bus while thestop sign is deployed. The analysis module 132 includes a sum totalmodule 134 that is executed by the processor to perform the methoddescribed with regard to FIG. 2. Additionally or alternatively, theanalysis module 132 includes a standard deviation module 136 that isexecuted by the processor to perform the method described with regard toFIG. 3. Using either or both of the sum total module 134 and thestandard deviation module 136, the processor 122 identifies video framesthat show a vehicle illegally passing the school bus during a stop. Thetagged frames 138 are stored in the memory 124, and the processoradditionally tags and stores tagged video segments 140 that include thetagged frames. In one embodiment, the tagged segments are presented on adisplay 142 for review by a human technician such as a school employeeor law enforcement personnel, and may be used to identify and penalizethe driver or owner of the vehicle that committed the violation.

In another embodiment, once the segments of the video sequences withviolations have been identified and tagged, images of the license platesfor each of the violating vehicles are identified and extracted. Forinstance, the processor 122 executes an automated license platerecognition (ALPR) module 144 that identifies the license plate numberof vehicles and the state of origin, in order to mitigate or minimizehuman review. This feature provides an end-to-end solution forautomating the violation detection and processing. The plate numbers andstate of origin information can be embedded in the video segment data(e.g., as metadata), included in a header or title for the tagged videosegment, and/or otherwise associated with or appended to the taggedsegment(s) to create a “violation package” that can be sent to ordirectly downloaded by local law enforcement. This feature enables ahuman reviewer to quickly identify the license plate text and state oforigin such that the appropriate vehicle and/or operator can beticketed.

The exemplary embodiments have been described with reference to thepreferred embodiments. Obviously, modifications and alterations willoccur to others upon reading and understanding the preceding detaileddescription. It is intended that the exemplary embodiments be construedas including all such modifications and alterations insofar as they comewithin the scope of the appended claims or the equivalents thereof.

The invention claimed is:
 1. A computer-implemented method foridentifying moving vehicles that illegally pass a school bus during abus stop, comprising: receiving a video sequence from a camera devicemounted on a school bus; partitioning the video sequence into videosegments such that each video segment corresponds to a single bus stopand comprises one or more video frames captured during the bus stop;analyzing the frames within each video segment to detect a movingvehicle in one or more of the frames; identifying and tagging frames inwhich a moving vehicle is detected; identifying and tagging videosegments that comprise tagged frames; for each detected moving vehicle,locating a license plate on the moving vehicle; identifying licenseplate information comprising the alphanumeric characters on the licenseplate and the state of origin of the license plate; and appendingmetadata, which describes the license plate information, to at least oneof the tagged segment and the tagged frame in which the license plateinformation is identified to generate a violation package; whereindetecting the moving vehicle comprises: comparing an initial frame in avideo segment to subsequent frames in the video segment to identifydifferences in pixel intensity; calculating a sum total error for pixelsin each subsequent frame; comparing the sum total error for eachsubsequent frame to a predetermined threshold value as a function of theequation: ${M_{present}(k)} = \left\{ \begin{matrix}{1,} & {{\sum\limits_{{x = {1:L}},{y = {1:N}}}{I_{diff}\left( {x,y,k} \right)}} > M_{thresh}} \\{0,} & {otherwise}\end{matrix} \right.$ where M_(present)(k) signifies whether a violatingvehicle is present within frame k, I_(diff)(x, y, k) is the differencebetween the initial and k-th frames in the segment, M_(thresh) is thepredetermined threshold value for the difference metric, and L and N arethe number of rows and columns in the subsequent frames, respectively;identifying frames that have a sum total error greater than thepredetermined threshold value; and tagging the identified frames ashaving an image of a moving vehicle.
 2. The method according to claim 1,further comprising: providing the violation package to a law enforcementorganization.
 3. The method according to claim 1, wherein detecting themoving vehicle comprises: calculating frame-to-frame pixel intensitydifferences between each pair of consecutive frames in each videosegment; computing a standard deviation value for pixels in each framethat exhibits a frame-to-frame difference; comparing the standarddeviation values to a predetermined threshold value to identify a framethat include an image of a moving vehicle; and tagging the identifiedframe as having an image of a moving vehicle.
 4. The method according toclaim 3, wherein the frame-to-frame pixel intensity differences betweenconsecutive image frames in the video segments are calculated as afunction of the equation:I _(delta)(x,y,k)=abs[I _(frame)(x,y,k)−I _(frame)(x,y,k−1)], k=1,2, . .. where x and y are the pixel coordinates (row and column) within animage and k is the image frame index, and where I_(delta) represents thedifference in pixel values between frames and I_(frame) represents agiven frame.
 5. The method according to claim 1, wherein the cameradevice records the video sequence periodically by starting to recordupon deployment of a stop sign mounted on the school bus and terminatingrecording upon retraction of the stop sign to the school bus, andwherein partitioning the video sequence into segments is performed as afunction of a structure of the video sequence, such that each segmentbegins at a deployment of the stop sign and ends at a retraction of thestop sign.
 6. The method according to claim 1, wherein partitioning thevideo is performed using timestamp information associated with the videoframes and matching the time stamp information to known times ofdeployment and retraction of a stop sign coupled to the school bus. 7.The method according to claim 1, wherein analyzing the frames furthercomprises: obtaining motion vectors for the frames within the videosegment; calculating a sum total of the magnitude of the motion vectorswithin each frame; comparing the sum total motion vector magnitudewithin each frame to a predetermined threshold value; identifying framesthat have a sum total motion vector magnitude greater than thepredetermined threshold value as having an image of a moving vehicle. 8.A system that facilitates identifying moving vehicles that illegallypass a school bus during a bus stop, comprising: a camera device that ismounted to a school bus and that records video whenever a stop signcoupled to the school bus is in a deployed position; wherein the camerais aimed to capture video of at least a portion of the deployed stopssign and of any moving vehicle that passes the school bus while the stopsign is deployed; and a processor configured to execute storedcomputer-executable instructions for: receiving a video sequence fromthe camera device; partitioning the video sequence into video segmentssuch that each video segment corresponds to a single bus stop andcomprises one or more video frames captured during the bus stop;analyzing the frames within each video segment to detect a movingvehicle in one or more of the frames; identifying and tagging frames inwhich a moving vehicle is detected; identifying and tagging videosegments that comprise tagged frames; for each detected moving vehicle,locating a license plate on the moving vehicle; identifying licenseplate information comprising the alphanumeric characters on the licenseplate and the state of origin of the license plate; and appendingmetadata, which describes the license plate information, to at least oneof the tagged segment data and the tagged frame data in which thelicense plate information is identified to generate a violation package;wherein to detect the moving vehicle, the processor executesinstructions for: comparing an initial frame in a video segment tosubsequent frames in the video segment to identify differences in pixelintensity; calculating a sum total error for pixels in each subsequentframe; comparing the sum total error for each subsequent frame to apredetermined threshold value using the equation:${M_{present}(k)} = \left\{ \begin{matrix}{1,} & {{\sum\limits_{{x = {1:L}},{y = {1:N}}}{I_{diff}\left( {x,y,k} \right)}} > M_{thresh}} \\{0,} & {otherwise}\end{matrix} \right.$ where M_(present)(k) signifies whether a violatingvehicle is present within frame k, I_(diff)(x, y, k) is the differencebetween the initial and k-th frames in the segment, M_(thresh) is thepredetermined threshold value for the difference metric, and L and N arethe number of rows and columns in the subsequent frames, respectively;identifying frames that have a sum total error greater than thepredetermined threshold value; and tagging the identified frames ashaving an image of a moving vehicle.
 9. The system according to claim 8,wherein the processor executes instructions for: transmitting theviolation package to a law enforcement organization.
 10. The systemaccording to claim 8, wherein to detect the moving vehicle, theprocessor executes instructions for: calculating frame-to-frame pixelintensity differences between each pair of consecutive frames in eachvideo segment; computing a standard deviation value for pixels in eachframe that exhibits a frame-to-frame difference; comparing the standarddeviation values to a predetermined threshold value to identify a framethat include an image of a moving vehicle; and tagging the identifiedframe as having an image of a moving vehicle.
 11. The system accordingto claim 10, wherein the frame-to-frame pixel intensity differencesbetween consecutive image frames in the video segments are calculated bythe processor as a function of the equation:I _(delta)(x,y,k)=abs[I _(frame)(x,y,k)−I _(frame)(x,y,k−1)], k=1,2, . .. where x and y are the pixel coordinates (row and column) within animage and k is the image frame index, and where I_(delta) represents thedifference in pixel values between frames and I_(frame) represents agiven frame.
 12. The system according to claim 8, wherein the cameradevice records the video sequence periodically by starting to recordupon deployment of a stop sign mounted on the school bus and terminatingrecording upon retraction of the stop sign to the school bus, andwherein partitioning the video sequence into segments is performed as afunction of a structure of the video sequence, such that each segmentbegins at a deployment of the stop sign and ends at a retraction of thestop sign.
 13. The system according to claim 8, wherein partitioning thevideo is performed using timestamp information associated with the videoframes and matching the time stamp information to known times ofdeployment and retraction of a stop sign coupled to the school bus. 14.The system according to claim 8, wherein when analyzing the frames, theprocessor executes stored computer-executable instructions for:obtaining motion vectors for the frames within the video segment;calculating a sum total of the magnitude of the motion vectors withineach frame; comparing the sum total motion vector magnitude within eachframe to a predetermined threshold value; identifying frames that have asum total motion vector magnitude greater than the predeterminedthreshold value as having an image of a moving vehicle.
 15. A method ofidentifying moving vehicles that illegally pass a school bus during abus stop, comprising: partitioning a video sequence recorded during abus stop into video segments; analyzing each frame of the video segmentto detect a moving vehicle in one or more of the frames; tagging a framein which a moving vehicle is detected; using automated license platerecognition (ALPR) to identify a license plate number and state oforigin of a license plate on the moving vehicle; appending metadatadescribing the license plate number and state of origin to the taggedframe data to generate a violation package; and transmitting theviolation package to a law enforcement agency for review; whereinanalyzing each frame of the video further comprises: comparing aninitial frame in a video segment to subsequent frames in the videosegment to identify differences in pixel intensity; calculating a sumtotal error for pixels in each subsequent frame; comparing the sum totalerror for each subsequent frame to a predetermined threshold value as afunction of the equation: ${M_{present}(k)} = \left\{ \begin{matrix}{1,} & {{\sum\limits_{{x = {1:L}},{y = {1:N}}}{I_{diff}\left( {x,y,k} \right)}} > M_{thresh}} \\{0,} & {otherwise}\end{matrix} \right.$ where M_(present)(k) signifies whether a violatingvehicle is present within frame k, I_(diff)(x, y, k) is the differencebetween the initial and k-th frames in the segment, M_(thresh) is thepredetermined threshold value for the difference metric, and L and N arethe number of rows and columns in the subsequent frames, respectively;identifying frames that have a sum total error greater than thepredetermined threshold value; and tagging the identified frames ashaving an image of a moving vehicle.